%ifndef BOOT_PROTECTEDMODEUTILITY_VIDEOTEXTMODEPUTCHAR
%define BOOT_PROTECTEDMODEUTILITY_VIDEOTEXTMODEPUTCHAR
%include "Boot/Segment.S"
bits 32
; void __cdecl VideoTextModePutChar(DWORD dwVtextOff, int nChar)
%define dwOffset dword [ebp + 8]
%define nChardword [ebp + 12]
VideoTextModePutChar:
    push ebp
    mov ebp, esp
    push ebx
    mov ax, SEGMENT_VTEXT
    mov gs, ax
    mov ebx, dwOffset
    mov eax, nChar
    ; or ax, 0b0000_1111_0000_0000 ; 设置字符属性为黑底白字
    mov [gs:ebx], ax ; 写入显存
    pop ebx
    pop ebp
    ret
%undef dwOffset
%define nChardword
%endif